package 启蒙阶段;

/**
 * 创建人：刘源江
 * 类描述：
 * 创建时间：2022/5/6 0:34
 **/

public class demo15面向对象三大特征之继承 {
    public static void main(String[] args) {
        //继承好处，可以代码重用
        //子类继承父类，子类可以得到父类里面的非私有的成员变量和成员方法，子类不用写，少写了很多代码实现一样的功能，提高代码的复用性
        //子类调用父类的成员特点，就近原则，子类有就使用子类的，否则使用父类
        Father study = new Father();
        study.sleep();

        Son son = new Son();
        son.sleep();

        System.out.println("--------------------------");

        //子类构造会默认访问父类构造方法，会隐藏super();
        //super()和this()都必须是在构造方法的第一行，不能同时出现
        //super()表示访问父类
        //this()表示访问自己
        ErZi erZi = new ErZi();
    }
}

class Father {
    public void sleep() {
        System.out.println("睡觉");
    }
}

class Son extends Father{//儿子继承父亲
    public void sleep() {
        System.out.println("不睡觉");
    }
}

class FuQin{
    public FuQin(){
        System.out.println("我是父类的构造方法");
    }
}

class ErZi extends FuQin{
    public ErZi(){
        super();//隐藏了一行代码super();表示访问父类无参构造，不写系统写，我写按照我写的走
        System.out.println("我是子类的构造方法");
    }
}




